/**
 * 账户表
 */
var mongoose = require('mongoose');
var BaseSchema = require('./base_schema');
var constant = require('../../config/constant');

var accountSchema = new BaseSchema({
    accountId: {type: String},                                    // 账户ID
    accountName: {type: String},                                  // 账户名
    spellName: {type: String},                                    // 账户名拼音
    imgUrl: {type: String},                                       // 账户头像URL
    onlineStatus: {type: Number},                                 // 在线状态(0: 下线; 10: 在线)
    recommendGrade: {type: Number, default: 5},                  // 推荐等级
    position: {type: String},                                     // 职位
    gender: {type: Number},                                       // 性别
    hospital: {type: String},                                     // 所在医院
    des: {type: String, default: ''},                            // 个人履历
    status: {type: Number},                                       // 医生账户状态(0: 无效; 1: 有效)
    qrcode: {type: String},                                       // 二维码图片路径
    department: {type: Number},                                   // 科室
    rank: {type: Number, default: constant.AccountRank.GENERAL}, // 排名(5: 低; 10: 一般)
    stopService: {type: Boolean, default: false},                // 是否停诊(true: 是; false: 否)
    verify: {type: Number},                                       // 医生诊室认证(0: 未认证; 1: 认证通过; 2: 待认证)
    service: {                                                    // 服务设置
        scope: Number, // 服务范围(在线咨询; 电话咨询; 在线咨询和电话咨询)
        free: {
            dailyNum: Number // 每日义诊数
        },
        charge: {
            // 计次服务设置
            dailyNum: Number,      // 计次服务每日服务数
            onlineCost: Number,    // 计次服务在线咨询费用(元)
            telephoneCost: Number, // 计次服务电话咨询费用(元/分钟)

            // 包月服务设置
            monthlyNum: Number,    // 包月服务人数
            monthlyCost: Number,   // 包月服务费用(元)
            monthlyMin: Number,    // 包月服务最低期限
            monthlyMax: Number     // 包月服务最高期限
        }
    },
    bankAccount: {                                                // 银行账户设置
        account: String,       // 开户人
        idNum: String,         // 身份证号码
        bankOfDeposit: String, // 开户银行
        province: String,      // 开户行所在省或直辖市
        city: String,          // 开户行所在市或区
        cardNum: String        // 银行卡号
    }
});

//
accountSchema.virtual('departmentName').get(function () {
    switch (this.department) {
        case constant.Department.OBSTETRICS_GYNECOLOGY:
            return "妇产科";
        case constant.Department.GYNECOLOGY:
            return "妇科";
        case constant.Department.OBSTETRICS:
            return "产科";
        case constant.Department.PAEDIATRICS:
            return "儿科";
        case constant.Department.NUTRITION:
            return "营养科";
        case constant.Department.REPRODUCTION:
            return "生殖科";
        case constant.Department.BREAST_SURGERY:
            return "乳腺外科";
        case constant.Department.GYNECOLOGIC_ONCOLOGY:
            return "妇科肿瘤";
        default:
            return "";
    }
});
module.exports = mongoose.model('account', accountSchema);